package com.mnyc.http;

import com.mnyc.model.User;
import org.springframework.web.bind.annotation.*;

public interface FeignTestClient {
    //在其他的一些博客中说的在Feign接口上使用@RequestLine,如果使用@RequestLine
    //应该是需要配合对应的decoder、encoder、contract，但是我没有找到正确的方式
    // 配置正确合适的decoder、encoder、contract，然后通过和SpirngBoot自动创建
    // 的Feign对象进行对比，然后在自己创建客户端的时候设置decoder、encoder、
    // contract三个核心对象与SpringBoot创建的相同，所以在客户端Feign的接口中使
    // 用完全和不动态修改地址的Feign接口相同
    @GetMapping("/get")
    String getMethod(@RequestParam(value = "name", required = true) String name);

    @PostMapping("/post")
    String postMethod(@RequestParam("remark") String remark, User user);

    @PutMapping("/put")
    String putMethod(@RequestParam("remark") String remark, User user);

    @DeleteMapping("/delete")
    String deleteMethod(@RequestParam("remark") String remark);

    @PostMapping("/path/{remark}")
    String pathMethod(@PathVariable("remark") String remark, User user);
}
